跳到主要内容

Nginx 面试题

1. 什么是Nginx?

Nginx是一个 轻量级/高性能的反向代理Web服务器,他实现非常高效的反向代理、负载平衡,他可以处理2-3万并发连接数,官方监测能支持5万并发,现在中国使用nginx网站用户有很多,例如:新浪、网易、 腾讯等。

2. 为什么要用Nginx?

  • 跨平台、配置简单、方向代理、高并发连接:处理2-3万并发连接数,官方监测能支持5万并发,内存消耗小:开启10个nginx才占150M内存 ,nginx处理静态文件好,耗费内存少,
  • 而且Nginx内置的健康检查功能:如果有一个服务器宕机,会做一个健康检查,再发送的请求就不会发送到宕机的服务器了。重新将请求提交到其他的节点上。

使用Nginx的话还能:

1、 节省宽带:支持GZIP压缩,可以添加浏览器本地缓存;

2、 稳定性高:宕机的概率非常小;

3、 接收用户请求是异步的;

3. 为什么Nginx性能这么高?

因为他的事件处理机制:异步非阻塞事件处理机制:运用了epoll模型,提供了一个队列,排队解决

4. Nginx怎么处理请求的?

nginx接收一个请求后,首先由listen和server_name指令匹配server模块,再匹配server模块里的location,location就是实际地址

server {

第一个Server区块开始,表示一个独立的虚拟主机站点
listen 80; 提供服务的端口,默认80
server_name localhost; 提供服务的域名主机名
location / {

第一个location区块开始
root html; 站点的根目录,相当于Nginx的安装目录
index index.html index.htm; 默认的首页文件,多个用空格分开
} 第一个location区块结果
}

5. 什么是正向代理和反向代理?

1、 正向代理就是一个人发送一个请求直接就到达了目标的服务器;

2、 反方代理就是请求统一被Nginx接收,nginx反向代理服务器接收到之后,按照一定的规则分发给;了后端的业务处理服务器进行处理了

6. 使用“反向代理服务器的优点是什么?